package com.sc.nft.admin.request;


import com.sc.nft.entity.req.AddSmeltingRewardsConfRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class AddSmeltingConfRequest {

    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("排序")
    private Long sort=0L;

    @ApiModelProperty("藏品id")
    @NotNull(message = "藏品id不能为空")
    private Long collectionId;

    @ApiModelProperty("藏品名称")
    @NotNull(message = "藏品名称不能为空")
    private String collectionName;

    @ApiModelProperty("熔炼周期(天)")
    @NotNull(message = "熔炼周期(天)不能为空")
    @Max(value =99999,message = "熔炼周期最大值不能超过99999")
    @Min(value = 1,message = "熔炼周期最小值不能低于1")
    private Integer hatchCycle;

    @ApiModelProperty("单次消耗数量")
    //@NotNull(message = "单次消耗数量不能为空")
    //@Max(value =9999999,message = "单次消耗数量最大值不能超过9999999")
    //@Min(value = 1,message = "单次消耗数量最小值不能低于1")
    private Integer expendCount;

    @ApiModelProperty("销毁数量")
    //@NotNull(message = "销毁数量不能为空")
    //@Min(value = 0,message = "销毁数量最小值不能低于0")
    private Integer destroyCount;

    @ApiModelProperty("熔炼上限")
    @Max(value =9999999,message = "熔炼上限最大值不能超过9999999")
    @Min(value = 0,message = "熔炼上限最小值不能低于0")
    private Integer hatchCount;


    @ApiModelProperty("奖励熔炼上限")
    @Max(value =9999999,message = "熔炼上限最大值不能超过9999999")
    @Min(value = 0,message = "熔炼上限最小值不能低于0")
    private Integer rewardsCount;

    @ApiModelProperty("铸造的次数")
    @Max(value =9999999,message = "铸造的次数不能超过9999999")
    @Min(value = 0,message = "铸造的次数不能低于0")
    private Integer addCastCount;

    @ApiModelProperty("奖励重铸上限")
    @Max(value =9999999,message = "重铸的次数不能超过9999999")
    @Min(value = 0,message = "重铸的次数不能低于0")
    private Integer addReforgeCount;

    @ApiModelProperty("熔炼总份数")
    @Max(value =9999999,message = "熔炼总份数最大值不能超过9999999")
    @Min(value = 1,message = "熔炼总份数最小值不能低于1")
    private Integer totalHatchCount;

    @ApiModelProperty("是否展示剩余份数")
    @NotNull(message = "是否展示剩余份数不能为空")
    private Boolean isShowRemainder;

    @ApiModelProperty("生态系数")
    @NotNull(message = "生态系数不能为空")
    private BigDecimal coefficient;

    @ApiModelProperty("积分id")
    private Long ecologyPointsId;
}
